In adaptive bitrate streaming, a client device drives the selection of which media segment in which bitrate to download and play. For example, a manifest file lists distinct uniform resource locators (URLs) for each media segment that can be requested by the client in each bitrate. The client can use the available bandwidth to select an appropriate bitrate and then can select the URL for a segment in that bitrate for download.
For live and linear media programs, the above approach may cause some problems for the quality of viewer experience. For example, one problem is an unsynchronized viewing experience among clients may occur. Because each client acts independently and starts pulling media segments on its own timeline, there could be a difference of viewing time between multiple clients of two segment lengths or even larger. For a popular ten second long segment design, this implies a difference of more than 20 seconds among viewing users. Live and linear media programs are meant to be played in substantially real-time, such as shortly after a live event occurs, and viewed by all users in the same time. However, if multiple clients are shown the same live and linear media program in the same location, the clients may be requesting and receiving the same media segments at different times in the current adaptive bit rate approach. This causes the playing of the media program to be unsynchronized for those clients.